package com.cy_02;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

/**
 * File
 * 	--1,概述
 * 		IO技术主要用来解决 Java程序和文件系统的交互
 * 		I是指 从磁盘读取数据到Java程序中 的过程-in
 * 		O是指 从Java程序中输出到磁盘 的过程-out
 * 		两个过程都是相对Java程序而言
 * 		由于你操作数据的单位不同txt/jpg/mp4...分为两种流：字节流/字符流
 * 		字节流可以读写任何单位的数据 -- 重点！！！
 * 		字符流 只可以读写txt的数据 -- 了解！！！
 */
public class Test1 {
    public static void main(String[] args) throws IOException {

        File file= new File("F:\\a\\a1.txt");
        System.out.println(file.length());//获取字节量
        System.out.println(file.exists());//判断文件是否存在
        System.out.println(file.isFile());//判断是文件吗
        System.out.println(file.isDirectory());//判断是文件夹吗
        System.out.println(file.getName());//获取文件名
        System.out.println(file.getParent());//获取父路径
        System.out.println(file.getAbsoluteFile());//获取完整路
        System.out.println(file.getAbsolutePath());//获取完整路

        file=new File("F:\\a\\a4.txt");
        System.out.println(file.createNewFile());

       file = new File("F:\\b");
        System.out.println(file.mkdir());

        file =new File("F:\\c\\d\\e\\");
        System.out.println(file.mkdirs());
        System.out.println(file.delete());

        file=new File("F:\\a");
        String [] s =file.list();
        System.out.println(Arrays.toString(s));

        File [] files=file.listFiles();
        System.out.println(Arrays.toString(files));

        File [] b=new File[3];
        b[0]=new File("F:\\a\\a4.txt");
        b[1]=new File("F:\\a\\a3.txt");
        b[2]=new File("F:\\a\\a2.txt");

        for (int i = 0;i<b.length;i++){
            System.out.println(b[i]);
            System.out.println(b[i].getName());

        }
            //TODO 列出文件夹里的所有资源，打印文件夹名称，统计所有文件的大小

           File dir= new File("F:\\a");
       File [] a = dir.listFiles();

       long sum = 0;
       for(int i = 0;i<a.length;i++) {
            if(a[i].isDirectory()){
                System.out.println(a[i].getName());

            }if(a[i].isFile()){
               sum=sum+a[i].length();
           }
       }
        System.out.println("文件夹是: "+dir.getAbsolutePath()
                +",里面的文件大小是: "+sum);



    }
}
